﻿<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- THIS PROPERTY GROUP MUST COME FIRST -->
    <AssemblyName>Microsoft.SemanticKernel.Abstractions</AssemblyName>
    <RootNamespace>Microsoft.SemanticKernel</RootNamespace>
    <TargetFrameworks>net8.0;netstandard2.0</TargetFrameworks>
    <NoWarn>$(NoWarn);SKEXP0001</NoWarn>
    <EnablePackageValidation>true</EnablePackageValidation>
  </PropertyGroup>

  <Import Project="$(RepoRoot)/dotnet/nuget/nuget-package.props" />
  <Import Project="$(RepoRoot)/dotnet/src/InternalUtilities/src/InternalUtilities.props" />

  <PropertyGroup>
    <!-- NuGet Package Settings -->
    <Title>Semantic Kernel - Abstractions</Title>
    <Description>Semantic Kernel interfaces and abstractions. This package is automatically installed by Semantic Kernel packages if needed.</Description>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" />
    <PackageReference Include="Microsoft.Bcl.HashCode" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
    <PackageReference Include="System.Diagnostics.DiagnosticSource" />
    <PackageReference Include="System.Text.Json" />
  </ItemGroup>

  <ItemGroup>
    <InternalsVisibleTo Include="Microsoft.SemanticKernel.Core" />
    <InternalsVisibleTo Include="SemanticKernel.UnitTests" />
    <InternalsVisibleTo Include="SemanticKernel.Extensions.UnitTests" />
    <InternalsVisibleTo Include="SemanticKernel.Extensions.PromptTemplates.Liquid.UnitTests" />
    <InternalsVisibleTo Include="DynamicProxyGenAssembly2" /> <!-- Moq -->
  </ItemGroup>
</Project>
